The digital subscriber loop interface circuit usually will comprise two parts; a transmitter and a receiver. The function of the transmitter is to put a series of pulses, usually shaped by some form of filter, on the loop. In the U-interface of an ISDN (Integrated Services Digital Network) system, these pulses are likely to be 4-level pulses, particularly encoded as the so-called 2B1Q code (two binary, one quaternary) recommended by the American National Standard Institute (Working Group T1D1.3)
The function of the receiver is to detect pulses being sent from the far end of the loop, which is difficult because these pulses are distorted. One source of distortion is coupling of the transmit pulses, being put onto the loop, directly across the hybrid circuit and into the receiver input as "echoes", which is a common problem when operating on a two-wire system.
Such transmit pulse echoes are removed by echo-cancellation, typically using a transversal filter to derive a function or model of the transmit signal for subtraction from the received signal.
Once the echo-canceller circuit has removed the image of the transmitter pulses from the received pulses, what remain are the pulses being transmitted from the far end of the loop. These pulses, of course, are distorted by the loop itself which has loss and delay characteristics which vary with frequency. The result is that relatively square pulses being transmitted from the far end are smeared by the time they arrive at the receiver. In determining the binary meaning of these pulses, the receiver performs a number of functions. As previously mentioned, it takes out the echo and, before the echo is removed, some shaping of the pulses is usually done by means of a receiver filter. Next, the receiver cancels intersymbol interference. This is interference from symbols received before the symbol of interest. As a result of the delaying characteristics, when symbols are transmitted, the tail of one symbol persists into the time slot of the next symbol, making it difficult to determine the correct amplitude of the pulse designated to that time slot. Intersymbol interference is usually dealt with by means of a decision feedback equalizer.
Once the pulses have been corrected in these various ways, the final function of the receiver is to decide where in time and at what amplitude to slice or quantize the received signals, to convert them back to pulses, or in some cases, 4-level signals. To do so the receiver must determine the exact timing instant when the pulses arrive and also determine the exact levels.
The timing instant is determined by a timing recovery circuit. Known timing recovery circuits using, for example, threshold crossing detection or time derivatives of the signal at the sampling instant, are generally unsuitable where the signal is digitized at the input to the receiver. To implement a traditional analogue approach digitally would result in a complex and expensive system, with an analogue-to-digital conversion rate that could present problems.
Since the echo must be cancelled before timing is recovered, the timing recovery algorithm should preferably operate at the same sampling rate as the echo canceller. Since the echo-canceller requires a large proportion of the receiver complexity it is desirable to minimize the complexity of the receiver by sampling at the minimum possible rate for satisfactory operation. This means sampling at the baud rate. In a paper entitled "Timing Recovery in Digital Subscriber Loops using Baud-Rate Sampling" by C. P. Jeremy Tzeng, David A. Hodges and David G. Messerschmidt, IEEE Journal on Selected Areas in Communications, Vol. SAC4, No. 8, Nov. 1986, it was proposed to determine the timing instant by detecting the zero crossing, between the precursor undershoot and the main pulse, assuming the peak of the main pulse to be one baud later, and sampling at that position.
In this specification the terms "main cursor" and "precursor" will be used to refer to the pulse height at sampling instants near the peak of the main pulse and at or near the aforementioned zero crossing, respectively.
Kurt H. Mueller and Markus Muller, in a paper entitled "Timing Recovery in Digital Synchronous Data Receivers", IEEE Trans. Comm., Vol. COM-24, pp. 516-531, May 1976, disclosed a steepest descent gradient algorithm for timing recovery. Mueller and Muller disclosed the general procedure for deriving the timing and a specific example directed to two and three level codes, but did not address the problem of recovering timing from a multilevel signal of the 2B1Q kind specified in the T1D1 standard.
In a 3-level signal, the data has only one decision level for each symbol, positive or negative, separated by zero, so derivation of the estimate really revolves around one value. Problems arise in deriving a good 4-level timing estimation function with the required properties, particularly one which is unbiased and has a variance, E{Z.sub.k }=-h.sub.-1, as low or as small as possible. E{.} denotes the expected value. The variance is a measure of the average deviation of the timing estimate from its expected value (i.e. equal to h.sub.-1 in this case). A precondition for low variance is to prevent the main cursor (h.sub.o) from appearing in the expression for the variance. This can be guaranteed by a set of nonlinear equations being satisfied, as indicated in the aforementioned paper by Mueller and Muller.
The solution of these equations is not obvious, however. The 4-level code has two values, +1 and +3; hence two decision levels. Accordingly the timing estimator will encounter +1 and +3 indiscriminately because the data is scrambled. Difficulty arises in achieving consistent timing in the presence of this variation in amplitude as well as the usual time variation.